<header>
    启动过程
</header>
<h2>
    加载
</h2>
<p>
    这一部分比较简单，就是把需要的依赖，比如jquery.js、angular.js等文件通过script引入。
</p>
<h2>
    配置
</h2>
<p>
    然后就是开始初始化了，主要包括：
</p>
<ul>
    <li>
        定义模块，包括主模块和相关功能模块，并组织好模块之间的关系。
    </li>
    <li>
        在功能模块上定义好指令、服务、过滤器、路由、请求配置等。
    </li>
</ul>
<h2>
    启动
</h2>
<p>
    最后，启动即可，一般有两种方式：自动启动和手动启动。
</p>
<p>
    比如我们定义的主模块叫startApp，自动启动就是在index.html中这样设置：
</p>
<pre tag="html">
&lt;!DOCTYPE html&gt;
&lt;html lang="zh-cn" ng-app="startApp"&gt;
...
</pre>
<p>
    如果在启动前你希望先做一些处理，那么，就可以使用手动启动：
</p>
<pre tag="javascript">
// 完成前置工作后，再执行下面语句
angular.bootstrap(XXX,['startApp']);
</pre>
<h2>
    运行
</h2>
<p>
    启动后，就会正式开始显示页面内容，大体可以分为两步：
</p>
<ol>
    <li>
        挂载指令，过滤器，服务等
    </li>
    <li>
        解析控制区域模板并生效：简单的理解就是框架理解管理区域有什么，然后让你写的生效（比如你用了某个指令，那就根据你定义的指令，生效等）
    </li>
</ol>
<p>
    后续，比如路由改变了等，就是不断重复上述两个步骤，比如打开新的页面，会挂载新的控制器，然后解析模板并生效，如此往复，直至网页关闭。
</p>